package com.stefanini.pe.bbva.bp.in.dao.impl;

import java.util.HashMap;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;
import com.stefanini.pe.bbva.bp.in.dao.iface.ProductosClientesDAOIface;
import com.stefanini.pe.bbva.bp.in.to.ProductoCliente;

@Repository
public class ProductosClientesDAOImpl extends SqlMapClientDaoSupport implements
		ProductosClientesDAOIface {

	@Autowired
	public ProductosClientesDAOImpl(SqlMapClient sqlMapClient) {
		super();
		super.setSqlMapClient(sqlMapClient);
	}

	@SuppressWarnings("unchecked")
	public List<ProductoCliente> buscarProductosClientes(String codTipoProducto, String desSubTipoProducto, String codigoAsesor) {
		HashMap map=new HashMap();
		map.put("in_idtipoproducto", codTipoProducto);
		map.put("in_descripcion", desSubTipoProducto);
		map.put("in_isusuarioasesor", codigoAsesor);
		
		System.out.println("sp: IIAF.PIIAF_GESTION.sp_cons_gt_tipoproductos, params: "+map);
		getSqlMapClientTemplate().queryForList("BP_PRODUCTOS_CLIENTES_SqlMap.listarProductosClientes",map);
		return (List)map.get("result");
	}
	
	@SuppressWarnings("unchecked")
	public List<ProductoCliente> buscarProductosClientesTotales(String codTipoProducto, String desSubTipoProducto, String codigoAsesor) {
		HashMap map=new HashMap();
		map.put("in_idtipoproducto", codTipoProducto);
		map.put("in_descripcion", desSubTipoProducto);
		map.put("in_isusuarioasesor", codigoAsesor);
		getSqlMapClientTemplate().queryForList("BP_PRODUCTOS_CLIENTES_SqlMap.listarProductosClientesTotalizados",map);
		return (List)map.get("result");
	}
	
	@SuppressWarnings("unchecked")
	public List obtenerSubTipoProducto(String codTipoProducto) {
		HashMap map = new HashMap();
		map.put("idtipoproducto", codTipoProducto);		
		getSqlMapClientTemplate().queryForObject("BP_PRODUCTOS_CLIENTES_SqlMap.cons_sub_tipo_producto",map);		
		return (List) map.get("result");
	}

}
